VBSYX
Have you ever found a MID file on the Web and wondered why it sounds like a dog's breakfast on your Sound Blaster or Yamaha synthesizer? Well, it was probably written for playback on a Roland GS Sound Canvas sound module such as the SC-55, SCC-1, SC-88 or M-GS64. This is not a commercial for Roland BUT their sound modules are probably the most flexible that you can purchase today.
Now, we all know how various musicians can tweak the sound of the module with Continuous Controllers and other effects. Any decent sequencer, such as Cakewalk or Power Tracks Pro, has what is called an "Events View" of the MIDI information in which you can view this information. What has been missing to date is the ability to decode System Exclusive (SYSEX) data that is generated with such excellent PC products as Canvasman, SCEDIT, WinSYSEX or SC-Pro.
I am a member of the Sound Canvas User's Group (SCUG). When this topic came up, I volunteered to write a SYSEX decoder and was swamped with requests and ideas for the program. So, here it is. It has come a long way from it's humble beginnings. Now, you may say "What good is this program to me - I don't own a Sound Canvas". Actually, this program is just as useful to you as it now allows you to see what the composer intended and this in turn allows you to set up your synth so that it plays equivalent sounds.
Highlights of the program are:
Basically, if you want to do something to SYSEX data, this program will do it or I'll eat my Internet connection.
VBSYX is written in Visual Basic 3. It requires the VB run time time library VBRUN300.DLL. You can download it from my home page if you do not have a copy of this module in your WINDOWS\SYSTEM directory.
In Version 1.1, code was added to decode SC-88 SYSEX data. This also applies to the M-GS64, which uses the same command set. Thanks are due to Roland Corporation, Australia and Dean Brewer of SCUG for providing the necessary documentation.
In Version 1.2, the interface was redesigned to add a toolbar and to fix some bugs.
In Version 1.3, support was added to decode SC-55 Bulk Patch Dumps, Global Bulk Dumps and Bulk Drum Dumps. SC-88 bulk dumps decode as well. However, certain SC-88 specific bytes may not be decoded as I do not have a SC-88 to practice on. Everything else for a SC-55, SC-88 etc should decode perfectly.
In Version 1.4, support was added for RAP-10 SYSEX data. Also added was the option to omit the show/extract of default SYSEX messages. Finally, the option to allow backward scrolling in MID/WRK files was added by popular request as well as the ability to "Go To" a message by clicking in the Summary View.
In Version 1.4i, a GS MIDI Jukebox which plays all MID files in a nominated directory (VBMMSYS.EXE) and a little application to do a GS RESET on demand (VBSYXSEN.EXE) were also included.
These are some sample .SYX files used (a) for my testing and (b) for you to display/edit and use in your sequences as required. They are supplied as SYX.ZIP in the installation package.
ALLGM.SYX | All valid GM SYSEX messages |
---|---|
ALLRAP10.SYX | All valid RAP-10 SYSEX messages |
ALLSC55.SYX | All valid SC-55, SC-155 etc SYSEX messages |
ALLSC88.SYX | All valid SC-88, M-GS64 SYSEX messages |
DRUM.SYX | Drum Messages |
GMSYSON.SYX | General Midi Reset |
GSRESET.SYX | GS Reset |
HALL1.SYX | Set Canvas Reverb to Hall 1 |
MASTER.SYX | Set System Parameters such as Master Tune, Volume and Pan |
PART10.SYX | Example of half of the SYSEX messages of the form 40 10 nn |
PART1OFF.SYX | Turn Part 1 OFF. See PART1PAN.SYX below. |
PART1ON.SYX | Example of the other half of the SYSEX messages of the form 40 10 nn |
PART1PAN.SYX | Set Part 1 to random pan. |
PART20.SYX | Example of the SYSEX messages of the form 40 20 nn |
PARTSET.SYX | Set Parts 1-16 to nominated channels |
PARTTONE.SYX | Set Part 1 Bank and Patch settings |
REVCHOR.SYX | Set all Reverb and Chorus Settings |
REVLEVEL.SYX | Set Reverb Level |
SC88DRUM.SYX | SC-88 / M-GS64 User Drum SYSEX messages |
SC88EQ.SYX | SC-88 / M-GS64 Equalisation SYSEX messages |
SC88PART.SYX | SC-88 / M-GS64 Part SYSEX messages |
SC88PATC.SYX | SC-88 / M-GS64 Patch SYSEX messages |
SC88USER.SYX | SC-88 / M-GS64 User Instrument SYSEX messages |
SCUG.SYX | Sound Canvas Users Group - what else! |
TONEFINE.SYX | Set Part 1 fine tuning parameters |
TUNING.SYX | Set Part 1 Scale Tuning |
VOICE.SYX | Set Overall Voice Reserve |